Repository navigation
docs(clade): uuid follows the forge path, it is not immortal - #67
Conversation
The CLADE status comment said the uuid is immortal. gv-clade-index ADR 0007 (accepted 2026-11-10) makes the uuid follow the forge path: a move or rename mints a new one, and a phase change never does. A prefixed-name (clade code) change still does not remint. Comment-only correction. No data values change. A2ML is retired for new content, but correcting a factually wrong comment in an existing file is an edit, not new content. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0136P7ZmTcNdC1jL1Vp3qW9H
|
No actionable comments were generated in the recent review. Summary
Merge Risk:
|
|
🔍 Hypatia Security ScanFindings: 84 issues detected
View findings[
{
"reason": "Job `triage` in label-triage.yml has no `timeout-minutes:` declaration. Default is 6 hours — a stuck codeload fetch or runner hang can burn budget. Add `timeout-minutes: 10` (or proportional).",
"type": "missing_timeout_minutes",
"file": ".github/workflows/label-triage.yml",
"level": "epi",
"rule_module": "workflow_audit",
"action": "flag",
"severity": "medium",
"recipe_id": "recipe-add-workflow-timeout-minutes",
"job": "triage",
"evidence": [
{
"span": {
"file": ".github/workflows/label-triage.yml",
"end_line": 0,
"start_line": 0
},
"rule": "workflow_audit/missing_timeout_minutes",
"observations": 1,
"rule_version": "0.1.0"
}
],
"support": {
"kind": "pattern"
}
},
{
"reason": "Job `sync` in labels.yml has no `timeout-minutes:` declaration. Default is 6 hours — a stuck codeload fetch or runner hang can burn budget. Add `timeout-minutes: 10` (or proportional).",
"type": "missing_timeout_minutes",
"file": ".github/workflows/labels.yml",
"level": "epi",
"rule_module": "workflow_audit",
"action": "flag",
"severity": "medium",
"recipe_id": "recipe-add-workflow-timeout-minutes",
"job": "sync",
"evidence": [
{
"span": {
"file": ".github/workflows/labels.yml",
"end_line": 0,
"start_line": 0
},
"rule": "workflow_audit/missing_timeout_minutes",
"observations": 1,
"rule_version": "0.1.0"
}
],
"support": {
"kind": "pattern"
}
},
{
"line": 270,
"reason": "job `scan` in .github/workflows/hypatia-scan.yml references `secrets.*` but does not install `step-security/harden-runner` or declare its egress — review outbound-egress monitoring; it holds the credential next to fetched code (a piped installer or a dependency install/build)",
"type": "RE001",
"file": ".github/workflows/hypatia-scan.yml",
"level": "epi",
"rule_module": "research_extensions",
"action": "report",
"severity": "medium",
"evidence": [
{
"span": {
"file": ".github/workflows/hypatia-scan.yml",
"end_line": 270,
"start_line": 270
},
"rule": "research_extensions/RE001",
"observations": 1,
"rule_version": "0.1.0"
}
],
"support": {
"kind": "pattern"
}
},
{
"line": 44,
"reason": "job `notify` in .github/workflows/push-email-notify.yml references `secrets.*` but does not install `step-security/harden-runner` or declare its egress — review outbound-egress monitoring",
"type": "RE001",
"file": ".github/workflows/push-email-notify.yml",
"level": "epi",
"rule_module": "research_extensions",
"action": "report",
"severity": "medium",
"evidence": [
{
"span": {
"file": ".github/workflows/push-email-notify.yml",
"end_line": 44,
"start_line": 44
},
"rule": "research_extensions/RE001",
"observations": 1,
"rule_version": "0.1.0"
}
],
"support": {
"kind": "pattern"
}
},
{
"line": 24,
"reason": "job `mirror-gitlab` in .github/workflows/mirror.yml references `secrets.*` but does not install `step-security/harden-runner` or declare its egress — review outbound-egress monitoring",
"type": "RE001",
"file": ".github/workflows/mirror.yml",
"level": "epi",
"rule_module": "research_extensions",
"action": "report",
"severity": "medium",
"evidence": [
{
"span": {
"file": ".github/workflows/mirror.yml",
"end_line": 24,
"start_line": 24
},
"rule": "research_extensions/RE001",
"observations": 1,
"rule_version": "0.1.0"
}
],
"support": {
"kind": "pattern"
}
},
{
"line": 44,
"reason": "job `mirror-bitbucket` in .github/workflows/mirror.yml references `secrets.*` but does not install `step-security/harden-runner` or declare its egress — review outbound-egress monitoring",
"type": "RE001",
"file": ".github/workflows/mirror.yml",
"level": "epi",
"rule_module": "research_extensions",
"action": "report",
"severity": "medium",
"evidence": [
{
"span": {
"file": ".github/workflows/mirror.yml",
"end_line": 44,
"start_line": 44
},
"rule": "research_extensions/RE001",
"observations": 1,
"rule_version": "0.1.0"
}
],
"support": {
"kind": "pattern"
}
},
{
"line": 64,
"reason": "job `mirror-codeberg` in .github/workflows/mirror.yml references `secrets.*` but does not install `step-security/harden-runner` or declare its egress — review outbound-egress monitoring",
"type": "RE001",
"file": ".github/workflows/mirror.yml",
"level": "epi",
"rule_module": "research_extensions",
"action": "report",
"severity": "medium",
"evidence": [
{
"span": {
"file": ".github/workflows/mirror.yml",
"end_line": 64,
"start_line": 64
},
"rule": "research_extensions/RE001",
"observations": 1,
"rule_version": "0.1.0"
}
],
"support": {
"kind": "pattern"
}
},
{
"line": 84,
"reason": "job `mirror-sourcehut` in .github/workflows/mirror.yml references `secrets.*` but does not install `step-security/harden-runner` or declare its egress — review outbound-egress monitoring",
"type": "RE001",
"file": ".github/workflows/mirror.yml",
"level": "epi",
"rule_module": "research_extensions",
"action": "report",
"severity": "medium",
"evidence": [
{
"span": {
"file": ".github/workflows/mirror.yml",
"end_line": 84,
"start_line": 84
},
"rule": "research_extensions/RE001",
"observations": 1,
"rule_version": "0.1.0"
}
],
"support": {
"kind": "pattern"
}
},
{
"line": 104,
"reason": "job `mirror-disroot` in .github/workflows/mirror.yml references `secrets.*` but does not install `step-security/harden-runner` or declare its egress — review outbound-egress monitoring",
"type": "RE001",
"file": ".github/workflows/mirror.yml",
"level": "epi",
"rule_module": "research_extensions",
"action": "report",
"severity": "medium",
"evidence": [
{
"span": {
"file": ".github/workflows/mirror.yml",
"end_line": 104,
"start_line": 104
},
"rule": "research_extensions/RE001",
"observations": 1,
"rule_version": "0.1.0"
}
],
"support": {
"kind": "pattern"
}
},
{
"line": 124,
"reason": "job `mirror-gitea` in .github/workflows/mirror.yml references `secrets.*` but does not install `step-security/harden-runner` or declare its egress — review outbound-egress monitoring",
"type": "RE001",
"file": ".github/workflows/mirror.yml",
"level": "epi",
"rule_module": "research_extensions",
"action": "report",
"severity": "medium",
"evidence": [
{
"span": {
"file": ".github/workflows/mirror.yml",
"end_line": 124,
"start_line": 124
},
"rule": "research_extensions/RE001",
"observations": 1,
"rule_version": "0.1.0"
}
],
"support": {
"kind": "pattern"
}
}
]Powered by Hypatia Neurosymbolic CI/CD Intelligence |



Summary
Comment-only correction. The CLADE status comment said the uuid is immortal. gv-clade-index ADR 0007 (accepted 2026-11-10) makes the uuid follow the forge path: a move or rename mints a new one, and a phase change never does.
A2ML is retired for new content. Correcting a factually wrong comment in an existing file is an edit, not new content.
Changes
.machine_readable/CLADE.a2ml: "uuid is immortal" → "uuid follows the forge path (a move or rename mints a new one, gv-clade-index ADR 0007; a phase change never does)"; "A rename is NOT a phase change" → "A prefixed-name (clade code) change is NOT a phase change". The paragraph is re-wrapped at 80 columns. No data values change. The wording is the same as in the correction PRs already merged across the estate.RSR Quality Checklist
Required
just testor equivalent): not run locally. Comment-only change, left to CI.just fmtor equivalent): n/a, no codeunsafeblocks without// SAFETY:comments.envfiles includedTesting
The diff is one comment paragraph in one file. Every line is ≤80 characters. The commit is signed.
Generated by Claude Code